package com.qianfeng.teachdemo.utils;

import android.os.Environment;
import android.text.format.DateFormat;

import com.qianfeng.teachdemo.constant.AppConstants;

import java.io.File;
import java.util.Date;

/**
 * @author zhangwei
 * @version V1.0
 * @ClassName:
 * @类作用: (这里用一句话描述这个类的作用)
 * @email
 * @创建日期:
 */
public class FileUtils {

    /**
     * 创建程序的文件夹;
     *
     * @return void 返回类型
     * @throws
     * @Title: getAppcache
     * @说 明:
     * @参 数:
     */
    public static File getAppCache() {
        String cachePath = null;
        File file = null;
        // 如果存在sd卡
        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
            // 创建
            cachePath = Environment.getExternalStorageDirectory() + File.separator + AppConstants.APP_CACHE;
        } else {
            cachePath = Environment.getDataDirectory() + File.separator + AppConstants.SYS_CACHE;

        }
        file = new File(cachePath);
        if (!file.exists()) {
            file.mkdirs();
        }
        return file;
    }

    /**
     * 获得保存图片的文件夹
     *
     * @return File 返回类型
     * @throws
     * @Title: getImageCache
     * @说 明:
     * @参 数: @return
     */
    public static File getImageCache() {
        // 获得保存图片文件的路径
        String imagePath = getAppCache().getAbsolutePath() + File.separator + AppConstants.IMAGE_CACHE;
        File imageCache = new File(imagePath);
        if (!imageCache.exists()) {
            imageCache.mkdirs();
        }
        return imageCache;
    }

    /**
     * @return File    返回类型
     * @throws Exception 图片命名时间戳
     *                   创建图片文件
     * @throws
     * @Title: getImageFile
     * @说 明:
     * @参 数: @return
     */
    public static File getImageFile() throws Exception {
        File imageFile = new File(getImageCache().getAbsolutePath(), DateFormat.format("yyyyMMddHHmmss", new Date()) + ".png");
        if (!imageFile.exists()) {
            imageFile.createNewFile();
        }
        return imageFile;
    }

}
